/*
 * @Description:http请求
 * @Author: maskMan
 * @LastEditTime: 2024-06-12 19:53:55
 */
import request from './request'
export default class Http {
  /**用户登录信息 */
  public static adminLogin(user: IReq.Login): Promise<IAccount> {
    return request
      .get('login/userLogin', user)
      .then((res: any) => {
        if (res?.status?.suc) {
          return res?.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  public static checkPassword(data): Promise<IAccount> {
    return request
      .get('user/checkPassword', data)
      .then((res: any) => {
        if (res?.status?.suc) {
          return res?.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  /**获取游戏列表信息 */
  public static getGameCounts(): Promise<IGameDataInfo[]> {
    return request
      .get('admin/getGameCounts', null)
      .then((res: any) => {
        if (res?.status?.suc) {
          return res?.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  /**更新用户信息 */
  public static upUserInfo(userData: any): Promise<boolean> {
    return request
      .post('user/upUserInfo', { userInfo: userData })
      .then((res) => {
        if (res?.status?.suc) {
          return res.data?.result ? true : false
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  /**获取管理员信息 */
  public static getAdminInfo(): Promise<any> {
    return request
      .get('user/getUserInfo', null)
      .then((res) => {
        if (res?.status?.suc) {
          return res.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  /**更新管理员信息 */
  public static upAdminInfo(account: IAccount & { password?: string }): Promise<boolean> {
    return request
      .get('user/upAdminInfo', account)
      .then((res) => {
        if (res?.status?.suc) {
          return res.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
  /**打开训练记录网页 */
  public static openWebHtml(list: any): Promise<string> {
    return request
      .post('user/createDco', list)
      .then((res: any) => {
        if (res?.status?.suc) {
          return res?.data
        } else {
          return null
        }
      })
      .catch((error) => {
        console.error(error)
        return null
      })
  }
}
